// Fonctions de sauvegarde et de chargement du document dico.txt
// copyright burte corporation mars 2011

#include "dlDico.h"
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>

using namespace std;

bool sauvegardeDico(string mots[], string definitions[])
{
    int i=0;

    system("cls");
    cout << "\nSauvegarde en cour ...\n";

    ofstream dico("dico.txt", ios::out | ios::trunc); // ouverture du fichier dico.txt en ecriture tronqué

    if(dico!=NULL) // si l'ouverture du fichier s'est correctement deorulé
    {
        while(mots[i]!="") // tant qu'il reste des mots dans le tableau mots[]
        {
            dico << mots[i] <<":"<< definitions[i] << "\n"; // ecriture de la ligne dans le fichier dico.txt
            i++;
        }

        dico.close(); // fermeture du fichier dico.txt

        cout << "Sauvegarde reussi !\n";
        system("pause");
        return true; // retourne vrai si tout s'est bien deroulé
    }
    else
    {
        cout << "Sauvegarde Echoue ...\n";
        system("pause");
        return false; // retourne false s'il y a eu une erreur lors de l'ouverutre du fichier
    }
}

bool chargementDico(string mots[], string definitions[])
{
    int k=0;

    ifstream dico("dico.txt", ios::in); // ouverture du fichier dico.txt en lecture

    if(dico!=NULL) // si l'ouverture du fichier s'est correctement deroulé
    {
        while(!dico.eof()) // tant que le cruseur n'est pas arrivé a la fin du fichier dico.txt
        {
            getline(dico, mots[k], ':'); // recupere toute la ligne avant le caractere ':'
            getline(dico, definitions[k], '\n'); // recupere la fin de la ligne jusqu'au saut de ligne
            k++; // compteur de tour dans la boucle
        }
        dico.close(); // fermeture du fichier dico.txt

        return true; // retourne vrai si tout s'est bien deroulé
    }
    else
        return false; // retourne false s'il y a eu une erreur lors de l'ouverutre du fichier
}
